package com.zzjr.tools.java.ssm.utils;

import com.zzjr.tools.java.ssm.constants.AutoCodeConstants;

import java.io.File;
import java.io.IOException;

/**
 * Description: IO工具类
 * 
 * @Date Create on 2015年10月13日
 * @author <a href="mailto:Aromarich@zuozh.com">Aromarich</a>
 * @since version1.0 Copyright 2015 ZZJR All Rights Reserved.
 */
public class IOUtils {
	
	public static void mkDir(File file) {
		if (file.getParentFile().exists()) {
			file.mkdir();
		} else {
			mkDir(file.getParentFile());
			file.mkdir();
		}
	}
	
	/**
	 * 把点转换为文件分割符
	 * 
	 * @return
	 */
	public static String convertDotToFileSeperator(String filePath) {
		return StringUtils.replaceAll(filePath, ".", File.separator);
	}
	
	/**
	 * 创建包名所对应的路径
	 * 
	 * @retrun 返回对应的包的路径
	 */
	public static String createPackageDirPath() {
		// 1.创建对应的包名
		String codeSavePath = AutoCodeConstants.CODE_GENERATE_DIR;
		String dirPath = codeSavePath + File.separator
				+ IOUtils.convertDotToFileSeperator(AutoCodeConstants.PACKAGE_NAME);
		File modelFileDir = new File(dirPath);
		// 如果目录不存在，则递归创建目录
		if (!modelFileDir.exists()) {
			IOUtils.mkDir(modelFileDir);
		}
		
		return dirPath;
	}
	
	/**
	 * 创建新的文件
	 * 
	 * @param file
	 */
	public static void createNewFile(File file) {
		if (!file.exists()) {
			try {
				file.createNewFile();
			}
			catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		File file = new File("c:/2/1/s/e");
		mkDir(file);
	}
	
}
